namespace java com.salmon.thrift.domain
namespace py com.salmon.thrift.domain
namespace cpp com.salmon.thrift.domain
namespace csharp com.salmon.thrift.domain

struct BucketInfo {
    1: string bucketName,
    2: string creator,
    3: string detail,
    4: i64 createTime
}

struct OssObjectSummary {
    1: string id;
    2: string key;
    3: string name;
    4: i64 length;
    5: string mediaType;
    6: i64 lastModifyTime;
    7: string bucket;
    8: map<string, string> attrs;
}

struct ObjectListResult {
    1: string bucket;
    2: string maxKey;
    3: string minKey;
    4: string nextMarker;
    5: i32 maxKeyNumber;
    6: i32 objectCount;
    7: string listId;
    8: list<OssObjectSummary> objectList;
}

struct ObjectMetaData {
    1: string bucket;
    /**
    * Object 所在的全路径，即目录表中的 key
    */
    2: string key;
    //文件类型
    3: string mediaType;
    //文件的长度
    4: i64 length;
    //文件最后的修改时间
    5: i64 lastModifyTime;
    //
    6: map<string, string> attrs;
}

struct OssObject {
    1: ObjectMetaData metaData;
    2: binary content;
}